This invention relates to the field of electrical circuit simulators, and more particularly to the field of entering analog electrical component model descriptions into a gradient based analog circuit simulator.
Years ago, when electrical circuits involved primarily discrete components, a traditional "breadboard" allowed an engineer with an oscilloscope to probe and measure the activity at every node of interest until he was satisfied that he knew how his circuit would behave under a variety of expected conditions. The similarity between the breadboard circuit and the final circuit was great enough to allow fairly accurate characterization of the final circuit by laboratory measurements of the breadboard circuit.
However, with the vast majority of today's circuitry being implemented in integrated circuits, breadboarding is no longer a viable approach to circuit design. The parasitic components present in the final integrated circuit (IC) cannot be physically duplicated with a breadboard approach. The fabrication and testing of an IC is an acceptable way to verify a design when there is already a high level of confidence in how it is going to work, but for trying out different design possibilities fabrication of an IC and testing it is far too slow and expensive to be competitive in today's rapid development environment.
Hence, the advent of circuit simulators. Circuit simulators represent the circuit under design in mathematical terms, allowing numerical analysis procedures to be performed which correspond to the measurements that formerly were made with physical hardware in the laboratory. The output of the simulator program is in effect the result of a measurement made on the circuit under design as it presently has been specified within the simulator.
The effective use of simulators has been hindered, however, by the difficulty of adding new device models to libraries of such models. The simulators are built and maintained by software engineers, who are comfortable with computer programming, but who frequently have a somewhat limited knowledge of device physics. The physicists who develop models for new devices, on the other hand, tend to have a limited knowledge of software and would prefer not to have to become extremely conversant with it in order to add their model to a library of such models.
One approach that has been used to permit device physicists to enter models into an analog simulator is part of the Saber TM simulator sold by Analogy (R) , Inc. of Beaverton, Oreg. Saber TM includes a modeling language called "MAST" that attempts to solve the problem of making simulators accessible to their users.
Rather than calculating derivatives directly as part of the simulation itself, which requires having the necessary equations compiled into the main simulation code, the Saber TM system precalculates tables of model branch values and gradient data and then uses those tables and piecewise linear approximation to produce solution vectors. For a more thorough understanding of this method, reference may be made to "Piecewise Linear Methods for Analyzing Large Hierarchical Networks" by Martin Vlach published by the Institute for Computer Research (1984) .
For some types of simulation activities, e.g. sensitivity tests, the use of piecewise linear approximation has disadvantages. To perform a sensitivity test, the values of the parameter that the sensitivity is being measured with respect to must be repeatedly varied. In an approach that relies on the pre-building of tables, varying a parameter requires repeatedly re-building the tables and doing so is a time-consuming step. To increase the accuracy of a simulation using a table-based approach, the tables must be re-calculated using a finer grid, whereas in a system based on the symbolic relationships being compiled into the main simulation code, a more accurate calculation can be obtained more directly by varying the control parameter, such as the convergence tolerances or transient operator approximation tolerances, and then re-running the simulation immediately.
What is desired is a method that allows analog device models to be effectively described in a language that is easy to learn and use, and then to have that description converted into the language of the simulator and automatically compiled and linked into the main program used by the simulator in a way that allows high speed calculation of solutions of gradient-based equations without the use of piecewise linear approximation and the need to build and use tables.